package com.yuanqi.dto;

import com.yuanqi.pojo.SalesOrder;
import com.yuanqi.pojo.SalesOrderItem;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 销售订单DTO
 */
@Data
public class SalesOrderDTO {
    /** 订单基本信息（原始对象） */
    private SalesOrder order;

    /** 订单明细列表 */
    private List<SalesOrderItem> items;

    /** 汇总 */
    private BigDecimal totalAmount;
    private BigDecimal totalQuantity;

    /** 客户信息（展示用） */
    private String customerName;
    private String customerPhone;

    // ===== 前端直取的扁平字段（避免改前端） =====
    private String soCode;
    private String orderCode; // 兼容旧版本

    private Date orderDate; // 兼容旧版本
    private Date deliveryDate; // 兼容旧版本
    private BigDecimal taxRate; // 兼容旧版本
    private BigDecimal taxAmount; // 兼容旧版本

    private Date createdAt;
    private Integer status;
    private String contactPhone;
    private String region;
    private String shippingAddress;
    private String salesRep;
    private String respPhone;
    private Date saleDate;

    // ===== 临时SKU信息（用于处理前端临时ID） =====
    private List<TempSkuInfo> tempSkuList;

    /**
     * 临时SKU信息
     */
    public static class TempSkuInfo {
        private String tempSkuId;      // 临时SKU ID，如 "temp_9"
        private Long productId;        // 对应的商品ID
        private String productName;    // 商品名称
        private String spec;           // 规格
        private String unit;           // 单位
        private BigDecimal price;      // 价格
        private BigDecimal taxRate;    // 税率
    }
}

